public class Test09 {
    public int takeAttendance(int[] records) {

        // int left = 0 ,right = records.length -1;
        // int mid = 0;
        // while(left < right){
        //     mid = left + (right - left) / 2;
        //     if(records[mid] == mid) left = mid + 1;
        //     else right = mid;
        // }
        // if(records[left] == left) return left+ 1;
        // return left;


//        //使用哈希解决
//        int[] hash = new int[records.length + 1];
//        int ret = -1;
//        for(int num : records) hash[num]++;
//        for(int i = 0 ; i < hash.length ;i++){
//            if(hash[i] != 1) ret = i;
//        }
//        return ret;

        //位运算
        int xor = 0;
        for(int i = 0 ; i < records.length + 1 ;i++){
            xor ^= i;
        }
        for(int num : records) xor ^= num;
        return xor;
    }
}
